package com.juku2024.juku.tools

import android.content.Context
import android.graphics.Point
import android.view.WindowManager
import com.juku2024.juku.base.BaseApplication


object DisplayUtil {

    /**
     * 根据分辨率从 dp 的单位 转成为 px(像素)
     */
    fun dp2px(context: Context, dpValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (dpValue * scale + 0.5f).toInt()
    }

    /**
     * 根据分辨率从 dp 的单位 转成为 px(像素)
     */
    fun dp2px(dpValue: Float): Int {
        val scale = BaseApplication.context.resources.displayMetrics.density
        return (dpValue * scale + 0.5f).toInt()
    }



    /**
     * 获得屏幕尺寸
     * @param context
     * @return
     */
    @Suppress("DEPRECATION")
    fun getScreenSize(context: Context): Point {
        val point = Point()
        val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
            val rect = wm.currentWindowMetrics.bounds
            point.set(rect.right - rect.left, rect.bottom - rect.top)
        } else {
            wm.defaultDisplay.getSize(point)
        }
        return point
    }

    fun getScreenWidth(context: Context): Int {
        return getScreenSize(context).x
    }

    fun getScreenHeight(context: Context): Int {
        return getScreenSize(context).y
    }
}